www.gusucode.com > 忠网网站广告管理系统 ZonGG V1.3 > 忠网网站广告管理系统 ZonGG V1.3\code\include\PubFunction.asp

    <% 
'///******************************************************************
'  常用公共函数库 文件名:PubFunction.asp 
'******************************************************************/// 

  Const Go_back="<a href='javascript:history.back(1)'>[返回上页]</a>"
  Const Closer="<a href='javascript:self.close()'>『关闭窗口』</a>"
  
  
'//********************************************************************
'  PubFgdy(Test,Tag,Bh)  根据分隔符和标号调用指定字符串的指定值函数,参数:Test 被分隔的字符串,Tag 分隔符,Bh 标号
'********************************************************************//

  Function PubFgdy(Test,Tag,Bh)  
  PubFgdy=""
  if Test<>"" and isnumeric(Bh)=true Then
  Dim Tests
  Tests=split(Test&Tag,Tag)
  if Bh<Ubound(Tests) then
  PubFgdy=Tests(Bh)  
  end if
  else
  PubFgdy=""
  exit function
  end if
  end function  


'//********************************************************************
'  PubCodeGF(OldTest) 代码规范函数, 参数:OldTest 原始内容, NewTest 新内容  
'********************************************************************//

  Function PubCodeGF(OldTest)
  dim NewTest:NewTest=trim(OldTest)
  if isnull(NewTest) or NewTest="" then code_admin="":exit function
  NewTest=replace(NewTest,"'","""")
  PubCodeGF=NewTest
  end function


'//********************************************************************
'  PubCodehtml(OldTest) 屏蔽HTML代码函数, 参数:OldTest  原始内容, NewTest  新内容 
'********************************************************************//
  
  function PubCodehtml(OldTest)
  dim NewTest:NewTest=OldTest
  if isnull(NewTest) or NewTest="" then PubCodehtml="":exit function
  NewTest=replace(NewTest,"<","&lt;")
  NewTest=replace(NewTest,">","&gt;")
  NewTest=replace(NewTest,chr(39),"&#39;")		'单引号
  NewTest=replace(NewTest,chr(34),"&quot;")		'双引号
  NewTest=replace(NewTest,chr(32),"&nbsp;")		'空格
  NewTest=replace(NewTest,chr(9),"&nbsp; &nbsp;")'table
  NewTest=replace(NewTest,chr(10),"<br>")		'回车
  NewTest=replace(NewTest,chr(13),"<br>")
  PubCodehtml=NewTest
  end function
  

'//********************************************************************
'  PubCtime() 组合系统时间为正常字符串 含 年、月、日、时、分、秒 如:200412172356
'********************************************************************//

  Function PubCtime()
  Dim GcChars
  GcChars = now()
  GcChars = replace(GcChars,"-","")
  GcChars = replace(GcChars," ","") 
  GcChars = replace(GcChars,":","")
  GcChars = replace(GcChars,"PM","")
  GcChars = replace(GcChars,"AM","")
  GcChars = replace(GcChars,"上午","")
  GcChars = replace(GcChars,"下午","")
  GcChars = int(GcChars) + int((10-1+1)*Rnd + 1)
  PubCtime=GcChars		
  end function

'//********************************************************************
' PubFolderIfcz(Foldername) 判断目录是否存在,需要 fso支持 参数:Foldername 
'********************************************************************//

Function PubFolderIfcz(Foldername) 
Dim fso
FolderIfcz=false

 if Foldername<>"" then
 Foldername=Server.MapPath(Foldername)
  Set fso = server.CreateObject("Scripting.FileSystemObject")
  if fso.FolderExists(Foldername) then
  FolderIfcz=true
  end if
  set fso = nothing  
 end if
end Function


'//********************************************************************
' PubFileIfcz(Filename) 判断文件是否存在,需要 fso支持 参数:Filename 
'********************************************************************//

Function PubFileIfcz(Filename) 
Dim fso
PubFileIfcz=false
 if Filename<>"" then
 Filename=Server.MapPath(Filename)
  Set fso = server.CreateObject("Scripting.FileSystemObject")
  if fso.FileExist(Filename) then
  PubFileIfcz=true
  end if
  set fso = nothing  
 end if
end Function


'//********************************************************************
' PubDeleteFile(Filename) 删除文件,需要 fso支持 参数:Filename 预删除文件的相对路径
'********************************************************************//

Function PubDeleteFile(Filename) '删除文件
Dim fso
 if Filename<>"" then
 Filename=Server.MapPath(Filename)
  Set fso = server.CreateObject("Scripting.FileSystemObject")
  if fso.FileExists(Filename) then
  fso.DeleteFile Filename
  PubDeleteFile="Suc"

  end if
  set fso = nothing  
 end if
end Function


'//********************************************************************
' PubDeleteFolder(Foldername) 删除目录,需要 fso支持 参数:Foldername 预删除目录的相对路径
'********************************************************************//

Function PubDeleteFolder(Foldername) '删除目录
Dim fso
 if Foldername<>"" then
 Foldername=Server.MapPath(Foldername)
  Set fso = server.CreateObject("Scripting.FileSystemObject")
  if fso.FolderExists(Foldername) then
  fso.DeleteFolder Foldername
  PubDeleteFolder="Suc"
  end if
  set fso = nothing  
 end if
end Function


'//********************************************************************
' PubCopyFile(Filename,Filenewname) 拷贝文件,需要 fso支持 参数:Filename 预拷贝文件的相对路径,Filenewname 拷贝目标名
'********************************************************************//

Function PubCopyFile(Filename,Filenewname)
   Dim fso,f
   if Filename<>"" and Filenewname<>"" then
   Filename=Server.MapPath(Filename)
   Filenewname=Server.MapPath(Filenewname)
   Set fso = server.CreateObject("Scripting.FileSystemObject")   
   Set f = fso.GetFile(Filename)
   f.Copy Filenewname,true
   set fso = nothing
   set f = nothing
   PubCopyFile="Suc"
   end if 
End Function



'//********************************************************************
' PubWriteFile(Filename,NeiRong) 写入文件内容,需要 fso支持 参数:Filename 文件的相对路径,NeiRong 写入的内容  如不存在则新建
'********************************************************************//

Function PubWriteFile(Filename,NeiRong)
Dim fso
 if Filename<>"" then
 Filename=Server.MapPath(Filename)
  Set fso = server.CreateObject("Scripting.FileSystemObject")

  if fso.FileExists(Filename)=false then  
  Set f = fso.CreateTextFile(Filename, True)
  f.Write NeiRong
  else
  
   	Set f = fso.GetFile(Filename)
	Set ts = f.OpenAsTextStream(2, -2)
    ts.Write NeiRong
    ts.Close   
     
  end if
  

  PubWriteFile="Suc"


  set fso = nothing  
 end if
End Function



'//********************************************************************
' PubReadFile(Filename) 读取文件内容,需要 fso支持 参数:Filename 文件的相对路径
'********************************************************************//

Function PubReadFile(Filename)
PubReadFile=""

Dim fso

 if Filename<>"" then
 Filename=Server.MapPath(Filename)
 Set fso = server.CreateObject("Scripting.FileSystemObject")

  if fso.FileExists(Filename)=true then  
  
   	Set f = fso.OpenTextFile(Filename,1)
    PubReadFile=f.ReadAll
     
  end if
  

 set fso = nothing  
 end if
End Function


'//********************************************************************
' PubSetFolder(Foldername) 新建目录,需要 fso支持 参数:Foldername 目录名称
'********************************************************************//

Function PubSetFolder(Foldername)
   Dim fso
   if Foldername<>"" then
   Foldername=Server.MapPath(Foldername)
   Set fso = server.CreateObject("Scripting.FileSystemObject")  
   if fso.FolderExists(Foldername)=false then 
   fso.CreateFolder Foldername
   end if
   set fso = nothing
   PubSetFolder="Suc"
   end if 
End Function



'/********************************************************************
' PubEditXml(xmlName,Rootsite,Rootsitesn,texts) 修改某xml一条数据,参数:xmlName 文件名称,Rootsite 指定选取的父节点,Rootsitesn 要依次更新的子节点号(整数)列表(用“|”分割),texts 赋值内容列表(以 “/$/”分割)
'********************************************************************/

Sub PubEditXml(xmlName,Rootsite,Rootsitesn,texts)
Dim fso
 if xmlName<>"" then
 
  xmlName=Server.MapPath(xmlName)  '获取XML文件的路径这里根据虚拟目录不同而不同
  Set fso = server.CreateObject("Scripting.FileSystemObject")
  if fso.FileExists(xmlName) then   '如果文件存在,则继续 ...


  Dim strSourceFile,objXML,objRootsite,texti,textss,Rootsitesns,Rootsitesni
  strSourceFile = xmlName  

  Set objXML =Server.CreateObject("Microsoft.XMLDOM")  '创建一个XML对像
   
  objXML.load(strSourceFile)  '把XML文件读入内存 

  Set objRootsite = objXML.documentElement.selectSingleNode(rootsite) 
  
  textss=split(texts&"/$/","/$/") 
  texti=0
    
  Rootsitesns=split(Rootsitesn&"|","|")  
  For Rootsitesni=0 to ubound(Rootsitesns)-1

  objRootsite.childNodes.item(Rootsitesns(Rootsitesni)).text=textss(texti)  
  texti=texti+1
  Next

   
  objXML.save(strSourceFile)
  
  Set objXML =nothing 

'' 释放 fso 
Set fso = nothing
end if
end if
 
end sub





'/********************************************************************
' PubNewXml(xmlName,Rootsite,Rootsitesn,texts,Indexsite) 新增 xml一条数据,参数:xmlName 文件名称,Rootsite 指定选取的父节点,Indexsite 新增内容主节点,Rootsitesn 要依次新增的子节点名列表(用“|”分割),texts 赋值内容列表(以 “/$/”分割)
'********************************************************************/

Sub PubNewXml(xmlName,Rootsite,Rootsitesn,texts,Indexsite)
Dim fso
Dim brstr:brstr=chr(13)&chr(10)&chr(9)  '规范 XML 样式
 if xmlName<>"" then
 
  xmlName=Server.MapPath(xmlName)  '获取XML文件的路径这里根据虚拟目录不同而不同
  Set fso = server.CreateObject("Scripting.FileSystemObject")
  if fso.FileExists(xmlName) then   '如果文件存在,则继续 ...


  Dim strSourceFile,objXML,objRootsite,texti,textss,Rootsitesns,Rootsitesni,XMLnode
  strSourceFile = xmlName  

  Set objXML =Server.CreateObject("Microsoft.XMLDOM")  '创建一个XML对像
   
  objXML.load(strSourceFile)  '把XML文件读入内存 

  Set objRootsite = objXML.documentElement.selectSingleNode(rootsite) 

	      '根据得到的数据循环个节点名、值建立XML片段 
	   XMLnode=brstr&"<"&Indexsite&">"
	   
			    
		  textss=split(texts&"/$/","/$/") 
		  texti=0
		    
		  Rootsitesns=split(Rootsitesn&"|","|")  
		  For Rootsitesni=0 to ubound(Rootsitesns)-1
		
		  XMLnode=XMLnode&brstr&"<"&Rootsitesns(Rootsitesni)&">"&textss(texti)&"</"&Rootsitesns(Rootsitesni)&">"
		  texti=texti+1
		  Next

	   XMLnode=XMLnode&brstr&"</"&Indexsite&">"&brstr        
	  

	  Dim objXML2,rootNewNode
	  set objXML2=Server.CreateObject("Microsoft.XMLDOM")    '建立一个新XML对像
	  
	  objXML2.loadXML(XMLnode)     '把XML版片段读入内存中 
	
	  set rootNewNode=objXML2.documentElement    '获得objXML2的根节点 
	 
	  objRootsite.appendChild(rootNewNode)    '把XML片段插入 
   
  objXML.save(strSourceFile)
  
  Set objXML =nothing 

'' 释放 fso 
Set fso = nothing
end if
end if
 
end sub


'//********************************************************************
'  PubcSize(tSize) KB、MB、GB  单位转换函数
'********************************************************************//

function PubcSize(tSize)
	
	if tSize>=1073741824 then
		PubcSize=Round(int((tSize/1073741824)*1000)/1000,2) & " GB"
    elseif tSize>=1048576 then
    	PubcSize=Round(int((tSize/1048576)*1000)/1000,2) & " MB"
    elseif tSize>=1024 then
		PubcSize=Round(int((tSize/1024)*1000)/1000,2) & " KB"
	else
		PubcSize=Round(tSize,2) & "B"
	end if
	
end function



'//********************************************************************
'  PubIfzhengshu(shu) 判断是否为正整数 , 参数:shu 要判断的数字
'********************************************************************//

function PubIfzhengshu(shu)

	PubIfzhengshu="yes"
	
	Dim shus,shui
	shus=split(shu,"")
	
	for shui=0 to Ubound(shus)	
	if isnumeric(shus(shui))=false then
	PubIfzhengshu="no"	
	exit function
	end if
	next
	
end function
  
  
'/********************************************************************
' PubPageGs() 格式化分页, rssum 总数,nummer 每页数目,page 当前页码
'********************************************************************/

  Sub PubPageGs()
    if rssum mod nummer > 0 then
      thepages=rssum\nummer+1
    else
      thepages=rssum\nummer
    end if
    page=trim(request("page"))
    if not(isnumeric(page)) then page=1
    if int(page)>int(thepages) or int(page)<1 then
      viewpage=1
    else
      viewpage=int(page)
    end if
  end Sub




'//********************************************************************
' PubWriteFile(Filename,NeiRong) 写入文件内容,需要 fso支持 参数:Filename 文件的相对路径,NeiRong 写入的内容  如不存在则新建
'********************************************************************//

Function PubWriteFile(Filename,NeiRong)
Dim fso
 if Filename<>"" then
 Filename=Server.MapPath(Filename)
  Set fso = server.CreateObject("Scripting.FileSystemObject")

 
  if fso.FileExists(Filename)=false then  
  Set f = fso.CreateTextFile(Filename, True)
  f.Write NeiRong
  else
  
   	Set f = fso.GetFile(Filename)
	Set ts = f.OpenAsTextStream(2, -2)
    ts.Write NeiRong
    ts.Close   
     
  end if
  

  PubWriteFile="Suc"


  set fso = nothing  
 end if
End Function

'//********************************************************************
'  PubPage1(maxpage,thepages,viewpage,pageurl,pp,font_color) 通用分页函数 (1)
'  maxpage,thepages,viewpage,pageurl 链接地址前缀,pp,font_color 显示字体色
'********************************************************************//

  Function PubPage1(maxpage,thepages,viewpage,pageurl,pp,font_color)
    dim pn,pi,page_num,ppp,pl,pr:pi=1
    ppp=pp\2
    if pp mod 2 = 0 then ppp=ppp-1
    pl=viewpage-ppp
    pr=pl+pp-1
    if pl<1 then
      pr=pr-pl+1:pl=1
      if pr>thepages then pr=thepages
    end if
    
    if pr>int(thepages) then
      pl=pl+thepages-pr:pr=thepages
      if pl<1 then pl=1

    end if
  
  if pl>1 then
    PubPage1=PubPage1&" <a href='"& pageurl &"' title='第一页'>[|<]</a> " & _
		" <a href='"& pageurl &"page="&pl-1&"' title='上一页'>[<]</a> "
  end if
  for pi=pl to pr
    if cint(viewpage)=cint(pi) then
      PubPage1=PubPage1&" <font color=" & font_color & ">[" & pi & "]</font> "
    else
      PubPage1=PubPage1&" <a href='"& pageurl &"page="& pi &"' title='第 " & pi & " 页'>[" & pi & "]</a> "
    end if
  next
  if pr<thepages then
    PubPage1=PubPage1&" <a href='"& pageurl &"page="&pi&"' title='后一页'>[>]</a> " & _
		   " <a href='"& pageurl &"page="& thepages &"' title='最后一页'>[>|]</a> "
  end if
  end function
  
  
'//********************************************************************
'  PubPage2(viewpage,thepages,pageurl) 通用分页函数 (2)
'  maxpage,thepages,viewpage,pageurl 链接地址前缀
'********************************************************************//

Function PubPage2(viewpage,thepages,pageurl)
  dim re_color,pf0,pf1,pf2,pf3,pf4,pf5
  re_color="#c0c0c0"
  pf0="已是第一页"
  pf1="第一页"
  pf2="上一页"
  pf3="下一页"
  pf4="最后一页"
  pf5="已是最后一页"
  PubPage2=VbCrLf & "<table border=0 cellspacing=0 cellpadding=0><tr><form action='"&pageurl&"' method=post><td>"
  
  if cint(viewpage)=1 then
    PubPage2=PubPage2 & VbCrLf & "<font color="&re_color&">"&pf0&"</font>&nbsp;"
  else
    PubPage2=PubPage2 & VbCrLf & "<a href='"&pageurl&"page=1' alt='"&pf1&"'>"&pf1&"</a>┋<a href='"&pageurl&"page="&cint(viewpage)-1&"' alt='"&pf2&"'>"&pf2&"</a>&nbsp;"
  end if

  if cint(viewpage)=cint(thepages) then
    PubPage2=PubPage2 & VbCrLf & "<font color="&re_color&" alt='"&pf5&"'>"&pf5&"</font>"
  else
    PubPage2=PubPage2 & VbCrLf & "<a href='"&pageurl&"page="&cint(viewpage)+1&"' alt='"&pf3&"'>"&pf3&"</a>┋<a href='"&pageurl&"page="&cint(thepages)&"' alt='"&pf4&"'>"&pf4&"</a>"
  end if
  if cint(thepages)<>1 then
    PubPage2=PubPage2 & VbCrLf & "&nbsp;<input type=text name=page value='"&viewpage&"' size=2>&nbsp;<input type=submit value='GO'>"
  end if
    
  PubPage2=PubPage2 & VbCrLf & "</td></form></tr></table>"
end Function

'//********************************************************************************
'  Pubobject_install(strclassstring) 组件判断函数 值为 true 时 说明服务器支持该组件
'  参数:strclassstring  组件标示
'**********************************************************************************//


  function Pubobject_install(strclassstring)
  on error resume next
  Pubobject_install=false
  dim xtestobj
  err=0
  set xtestobj=server.createobject(strclassstring)
  if err=0 then Pubobject_install=true
  set xtestobj=nothing
  err=0
  end function
 
%>